home *** CD-ROM | disk | FTP | other *** search
/ Aminet 23 / Aminet 23 (1998)(GTI - Schatztruhe)[!][Feb 1998].iso / Aminet / dev / lang / nrcobol_1b.lha / NRCOBOL1b / COBFILES / FLIGHTSKEY.COB < prev    next >
Text File  |  1997-06-25  |  8KB  |  214 lines

  1.        IDENTIFICATION DIVISION.
  2.        PROGRAM-ID.   FLIGHTSKEY.
  3.       *PROGRAM DISCRIPTION.
  4.       * AIRPORTS -> AIRPORTS.OUT  FLIGHT.FIL -> FLIGHT.FIL.OUT
  5.       * Translate line sequential data to index.
  6.       *
  7.       *AUTHOR.        cHArRiOTt.
  8.       *INSTALLATION.
  9.       *DATE-WRITTEN.  SEP 28th 96.
  10.       *DATE-COMPILLED.
  11.       *SECURITY.
  12.        ENVIRONMENT DIVISION.
  13.  
  14.        CONFIGURATION SECTION.
  15.        SOURCE-COMPUTER.   AMSTRAD 1512.
  16.        OBJECT-COMPUTER.
  17.        INPUT-OUTPUT SECTION.
  18.        FILE-CONTROL.
  19.             SELECT           AIRPORT-OUT
  20.             ASSIGN TO        DISK
  21.             ORGANIZATION IS  INDEXED
  22.             ACCESS MODE  IS  DYNAMIC
  23.             RECORD KEY   IS  OUT-AIRPORT-CODE
  24.             FILE STATUS  IS  WS-AIRPORT-STATUS.
  25.  
  26.             SELECT           AIRPORT-IN
  27.             ASSIGN TO        DISK
  28.             ORGANIZATION IS  LINE SEQUENTIAL
  29.             ACCESS MODE  IS  SEQUENTIAL
  30.             FILE STATUS  IS  WS-AIRPORT2-STATUS.
  31.  
  32.             SELECT           FLIGHT-OUT
  33.             ASSIGN TO        DISK
  34.             ORGANIZATION IS  INDEXED
  35.             ACCESS MODE  IS  DYNAMIC
  36.             RECORD KEY   IS  OUT-FLIGHT-NUMBER
  37.             FILE STATUS  IS  WS-FLIGHT-STATUS.
  38.  
  39.             SELECT           FLIGHT-IN
  40.             ASSIGN TO        DISK
  41.             ORGANIZATION IS  LINE SEQUENTIAL
  42.             ACCESS MODE  IS  SEQUENTIAL
  43.             FILE STATUS  IS  WS-FLIGHT2-STATUS.
  44.       *
  45.        DATA DIVISION.
  46.        FILE SECTION.
  47.        FD AIRPORT-OUT
  48.             LABEL RECORD IS  STANDARD
  49.             VALUE OF FILE-ID IS "AIRPORTS.OUT".
  50.        01 OUT-AIRPORT-REC.
  51.            03 OUT-AIRPORT-CODE      PIC 99.
  52.            03 OUT-AIRPORT-NAME      PIC X(15).
  53.  
  54.        FD AIRPORT-IN
  55.             LABEL RECORD IS  STANDARD
  56.             VALUE OF FILE-ID IS "AIRPORTS".
  57.        01 IN-AIRPORT-REC.
  58.            03 IN-AIRPORT-CODE      PIC 99.
  59.            03 IN-AIRPORT-NAME      PIC X(15).
  60.  
  61.       * ----------------------------------------------
  62.        FD FLIGHT-OUT
  63.            LABEL RECORD IS STANDARD
  64.            VALUE OF FILE-ID IS "FLIGHTOUT.FIL".
  65.        01 OUT-FLIGHT-REC.
  66.            03 OUT-FLIGHT-NUMBER     PIC 9(5).
  67.            03 OUT-AIRPLANE-ID       PIC 9(5).
  68.            03 OUT-AIRPLANE-MK-CODE  PIC X(4).
  69.            03 OUT-FLIGHT-ORG-CODE   PIC 99.
  70.            03 OUT-FLIGHT-DES-CODE   PIC 99.
  71.            03 OUT-SEATS-FILLED      PIC 999.
  72.            03 OUT-SEATS-TABLE.
  73.               05 OUT-SEAT-TABLE     OCCURS 10 TIMES.
  74.                  08 OUT-SEAT-LETTER OCCURS  6 TIMES.
  75.                     10 OUT-SEAT     PIC 9(4).
  76.  
  77.        FD FLIGHT-IN
  78.            LABEL RECORD IS STANDARD
  79.            VALUE OF FILE-ID IS "FLIGHT.FIL".
  80.        01 IN-FLIGHT-REC.
  81.            03 IN-FLIGHT-NUMBER     PIC 9(5).
  82.            03 IN-AIRPLANE-ID       PIC 9(5).
  83.            03 IN-AIRPLANE-MK-CODE  PIC X(4).
  84.            03 IN-FLIGHT-ORG-CODE   PIC 99.
  85.            03 IN-FLIGHT-DES-CODE   PIC 99.
  86.            03 IN-SEATS-FILLED      PIC 999.
  87.            03 IN-SEATS-TABLE.
  88.               05 IN-SEAT-TABLE     OCCURS 10 TIMES.
  89.                  08 IN-SEAT-LETTER OCCURS  6 TIMES.
  90.                     10 IN-SEAT     PIC 9(4).
  91.  
  92.       * ----------------------------------------------
  93.        WORKING-STORAGE SECTION.
  94.        01 WS-STOP-RUN-FLAG PIC X VALUE SPACE.
  95.        01 WS-STATUS-CODES.
  96.            03 WS-AIRPORT-STATUS  PIC XX VALUE "00".
  97.            03 WS-AIRPORT2-STATUS PIC XX VALUE "00".
  98.            03 WS-FLIGHT-STATUS   PIC XX VALUE "00".
  99.            03 WS-FLIGHT2-STATUS  PIC XX VALUE "00".
  100.  
  101.        01 WS-AIRPORT-DONE PIC X VALUE " ".
  102.            88 WS-AIRPORT-END VALUE "Y".
  103.        01 WS-FLIGHTS-DONE PIC X VALUE " ".
  104.            88 WS-FLIGHTS-END VALUE "Y".
  105.  
  106.        01 WS-AIRPORT-COUNTER PIC 999 VALUE 0.
  107.        01 WS-FLIGHTS-COUNTER PIC 999 VALUE 0.
  108.        01 WS-RESPONCE PIC X VALUE SPACE.
  109.       *
  110.        SCREEN SECTION.
  111.  
  112.        01 BLANK-SCREEN.
  113.            03 BLANK SCREEN.
  114.        01 PROG-DISCRIPTION.
  115.            03 LINE 1 COLUMN 5  VALUE
  116.               "QUICK PROGRAM TO CREATE INDEX KEY FOR A SEQUENTIAL FILE".
  117.        01 AIRPORT-RECORD.
  118.  
  119.  
  120.        01 FLIGHTS-RECORD.
  121.            03 LINE 16 COLUMN 5 VALUE "FLIGHT NUMBER : ".
  122.            03 LINE 16 COLUMN 21 PIC 9(5) FROM IN-FLIGHT-NUMBER.
  123.            03 LINE 17 COLUMN 5 VALUE "AIRPORT-ID    : ".
  124.            03 LINE 17 COLUMN 21 PIC 9(5) FROM IN-AIRPLANE-ID.
  125.            03 LINE 18 COLUMN 5 VALUE "AIRPLANE MK   : ".
  126.            03 LINE 18 COLUMN 21 PIC X(4) FROM IN-AIRPLANE-MK-CODE.
  127.            03 LINE 19 COLUMN 5 VALUE "FLIGHT ORIGIN : ".
  128.            03 LINE 19 COLUMN 21 PIC 99 FROM IN-FLIGHT-ORG-CODE.
  129.            03 LINE 20 COLUMN 5 VALUE "FLIGHT DESTIN : ".
  130.            03 LINE 20 COLUMN 21 PIC 99 FROM IN-FLIGHT-DES-CODE.
  131.            03 LINE 21 COLUMN 5 VALUE "SEATS FILLED  :".
  132.            03 LINE 21 COLUMN 21 PIC 999 FROM IN-SEATS-FILLED.
  133.            03 LINE 23 COLUMN 5 VALUE "PRESS ANY KEY ".
  134.            03 LINE 23 COLUMN 21 PIC X TO WS-RESPONCE AUTO.
  135.  
  136.        01 PROG-FINISH.
  137.            03 LINE 24  COLUMN 5 VALUE "TASK COMPLETE".
  138.        01 ERROR-MESSG.
  139.            03 LINE 20  COLUMN 5 VALUE
  140.               "FILE WOULD NOT OPEN  :FLIGHT :FLIGH2:PORT :PORT2:".
  141.            03 LINE 21  COLUMN 5 VALUE
  142.               "STATUS ERROR CODES   :       :      :     :     :".
  143.            03 LINE 21  COLUMN 29  HIGHLIGHT PIC XX
  144.               FROM WS-FLIGHT-STATUS.
  145.            03 LINE 21  COLUMN 37  HIGHLIGHT PIC XX
  146.               FROM WS-FLIGHT2-STATUS.
  147.            03 LINE 21  COLUMN 43  HIGHLIGHT PIC XX
  148.               FROM WS-AIRPORT-STATUS.
  149.            03 LINE 21  COLUMN 50  HIGHLIGHT PIC XX
  150.               FROM WS-AIRPORT2-STATUS.
  151.       *******************************************
  152.       *
  153.        PROCEDURE DIVISION.
  154.        0000-MAIN.
  155.            DISPLAY BLANK-SCREEN.
  156.            DISPLAY PROG-DISCRIPTION.
  157.            OPEN OUTPUT  AIRPORT-OUT
  158.                 OUTPUT  FLIGHT-OUT
  159.                 INPUT   AIRPORT-IN
  160.                 INPUT   FLIGHT-IN.
  161.  
  162.                 IF WS-FLIGHT-STATUS    = "00" AND
  163.                    WS-FLIGHT2-STATUS   = "00" AND
  164.                    WS-AIRPORT-STATUS   = "00" AND
  165.                    WS-AIRPORT2-STATUS  = "00" AND
  166.                     PERFORM 1000-NEWKEYS UNTIL WS-STOP-RUN-FLAG = "S"
  167.                 ELSE
  168.                    DISPLAY ERROR-MESSG.
  169.            DISPLAY PROG-FINISH.
  170.            CLOSE       AIRPORT-OUT
  171.                        AIRPORT-IN
  172.                        FLIGHT-OUT
  173.                        FLIGHT-IN.
  174.            STOP RUN.
  175.       *
  176.       *******************************************
  177.       *
  178.        1000-NEWKEYS.
  179.            PERFORM 2000-READ-AIRPORT UNTIL WS-AIRPORT-END.
  180.            PERFORM 3000-READ-FLIGHTS UNTIL WS-FLIGHTS-END.
  181.            MOVE "S" TO WS-STOP-RUN-FLAG.
  182.       *
  183.       *************************************************
  184.       *
  185.       *
  186.        2000-READ-AIRPORT.
  187.            ADD 1 TO WS-AIRPORT-COUNTER.
  188.            READ AIRPORT-IN INTO OUT-AIRPORT-REC
  189.            AT END
  190.               MOVE "Y" TO WS-AIRPORT-DONE
  191.               DISPLAY (11, 5) "AIRPORT RECORD DONE!".
  192.            IF NOT WS-AIRPORT-END
  193.               WRITE OUT-AIRPORT-REC
  194.               DISPLAY (10, 5) "WRITING AIRPORT RECORD "
  195.                       WS-AIRPORT-COUNTER.
  196.       *
  197.       *************************************************
  198.       *
  199.        3000-READ-FLIGHTS.
  200.            ADD 1 TO WS-FLIGHTS-COUNTER.
  201.            READ FLIGHT-IN INTO OUT-FLIGHT-REC
  202.            AT END
  203.               MOVE "Y" TO WS-FLIGHTS-DONE
  204.               DISPLAY (14, 5) "FLIGHTS RECORD DONE!".
  205.            IF NOT WS-FLIGHTS-END
  206.               WRITE OUT-FLIGHT-REC
  207.               DISPLAY (13, 5) "WRITING FLIGHTS RECORD "
  208.                       WS-FLIGHTS-COUNTER
  209.               DISPLAY FLIGHTS-RECORD
  210.               ACCEPT  FLIGHTS-RECORD.
  211.       *
  212.       ************************************************
  213.  
  214.